package observer.source;

/**
 * 具体观察者
 * @author Chen Guang
 * @date 2019/4/9 0009 下午 15:54
 */
public class ConcreteObserver implements Observer{

    /**
     * 名字
     */
    private String name;
    /**
     * 观察者状态
     */
    private String observerState;
    /**
     * 通知者
     */
    private Subject subject;

    public ConcreteObserver(String name, Subject subject) {
        this.name = name;
        this.subject = subject;
    }

    @Override
    public void update() {
        //可以增加判断，根据通知者不同的状态实现不同的相应
        observerState = subject.getSubjectState();
        System.out.println("观察者" + name + "的新状态是 " + observerState);
    }
}
